The [[Agora]] is a project with a large [[scope]], so it takes a minute to explain what it’s all about, and what the vision this plan tries to advance is.
If you’d like a quick introduction to the Agora as of mid 2021, please check out [[go/agora-slides]].
You can also refer to [[go/agora]], that is the documentation in the [[root repository]] currently hosted on [[github]].
What this node is for
This node is used as a project planning page for the [[Agora]] implementation you’re likely reading this in now: https://anagora.org . It is kept in the [[go/agora-server]] repo.
A set of bridges to connect other platforms to the [[agora]], and the Agora to to [[other platforms]]. These are kept in the [[go/agora-bridge]] repository.
This node might deal with development of any and all of them. We will try to list past major developments below, but this node will try to also be [[future focused]].
new users are trickling into the community, although the signup process is still manual; need to ship the repo api in [[agora bridge]] to improve the sinup flow.
considering [[logseq]] and [[tiddlywiki]] as recommended web clients.
Lots have happened. I gave up trying to maintain this for a while, instead using my journals and a transitive subset of the [[Agora]] to document the development process.
On [[2020-12-29]] I pushed a quick patch that upranks all my subnodes, as some top subnodes in relatively popular nodes had formatting issues / were distracting. I intend this to be temporary; better ranking and formatting fixes are coming.
On [[2020-12-27]] I released [[agora 0.5.6]] with [[pull]] support, better db code, caching… quite a bit :)
Write functions that return [[pull]] and [[push]] entities in each subnode
Make more links default to node instead of subnode.
For example those in latest, those in user pages.
Might require ‘upranking’.
set up [[agora]] hot spare in [[dorcas]], this is an experiment but I already find it very useful so I don’t want to not have it available for a while if there’s a server failure
add monitoring — [[munin]] or something more modern? [[prometheus]]?
Implement /node/foo/selector as more resilient/uniform alternative to /subnode.
Implement user upranking/pinning.
Perhaps nodes visited from a user scope uprank subnodes by that user?
Provide a link (GET) for the search for ‘[ ]’, useful for [[do]].
Add better backlinks, showing some context.
Make the site header be marked as an actual header (div with a class, etc.); Google seems to think it’s part of the site text (it’s showing up in results).
Fix markdown list formatting issue with different tab widths.
add footer.
Implement preview-on-hover?
Implement "around the Agora".
add /latest or some other chronological view
User profiles: perhaps just note [[flancian]] as written by user [[flancian]]? Unsure.
[[s5bug]] suggested using [[README]] in gardens for this. Makes sense.
Make the index be just another note [[ding-levery]].
Improve backlinks: show snippets as well as just the link.
Improve pull loop to also support arbitrary hooks, like that needed to implement [[agora go links integration]].
Multi user improvements:
Better sorting (right now all my notes show up at the top, doesn’t make sense).
Ability to "zoom into" a user, to navigate just their garden for a while.
Perhaps ability to "uprank" users, pinning their notes to the top of any sorting order.
Perhaps sort+uprank can be integrated?
usernames could have a ‘pin’ emoji that upranks all their posts?
Implement search (full text).
Add support for media serving (useful for pictures of [[ocell]]).
assets/foo end up at node/assets/foo; just adding a handler for node/assets/ seems like it could be enough.
It would conflict with a node named ‘assets’ though, so perhaps it’s not ideal.
Perhaps it’d be better to just serve images/media as subnodes?
Add monitoring/alerting.
Some day:
When you update a node on a [[person]], said person gets a notification (they can opt out).
Also added @flancian. Shorter is better, and it’s a common convention.
perhaps /g/ for groups later? or /s/ for stoa.
Add ‘link to this note’.
Now called subnode.
Subnode rendering is ready, just need to add links.
Perhaps I need to fix subnode paths; right now they are the actual filename. It’d be better if there was at least possible to specify the filename base (no extension) and have the right file be resolve, a la nodes.